Programmer's Key 1.1B5 of 05/09/88
----------------------------------

Revision History

;	Created:  07/23/87  PM - 1.0D1	first cut using VBL task to call Debugger
;	Modified: 07/24/87  PM - 1.0D4	changed to use AutoInt1 instead of VBL's (yay!)
;		  07/26/87  PM - 1.0D5 	changed key combinations (works better with TMON)
;		  07/26/87  PM - 1.0D6	added FlashMenuBar to ShutDown
;		  08/04/87  PM - 1.0B1	added BufPtr -> sp for _ShutDowns in TMON; its stack
;				      	 too small, changed key combinations again (for ICOM)
;		  12/29/87  PM - 1.1B1	removed BufPtr -> sp (see above)
;					 added support for classic keyboards, changed key
;					 sequences again, revved for ShowINIT31
;		  01/31/88  PM - 1.1B2	added oldAutoInt7 for dual-debugger hack
;					 fixed option key bug on Classic keyboards
;		  03/04/88  PM - 1.1B3	ADB sense code changed to use HWCfgFlags since
;					 SysEnvirons doesn't tell all about ISO, etc.
;		  05/06/99  PM - 1.1B4  changed option-break to swap entire exception vector
;					 for better dual-debugging
;		  05/09/88  PM - 1.1B5  changed option-break to always go to boot debugger
;		  05/27/88  PM - 1.1B6  added _Debugger swapping to option-break

Tester Notes
------------
*** The keyboard combinations have changed again, see the chart below ***
1.1B1 now supports the classic keyboards.  Try it and see what I mean.
The 'hot' key is also configurable.  Let me know if you care.

There is also a very sick hack in this version which allows the use of
2 debuggers.  An example: if you rename Programmer's Key such that it
loads before TMON, then pressing option-power will invoke MacsBug or
the ROM minidebugger while all the other keyboard combos will still get
you into TMON.  This feature is still under construction and has many
pitfalls.  For instance, what happens when you use breakpoints with
both MacsBug and TMON installed?  Save all your files and try it.

*** addendum to above ***
The entire exception vector table is now switched out with  option-break.
This means MacsBug & TMON can almost coexist.  Try it!

General Info
------------
Programmer's Key is a small INIT that allows the use of the 'power-on' key of an
Apple Desktop Bus keyboard as a substitute for the Programmer's Switch.
To install Programmer's Key, simply drag it into your System Folder and reboot.
You may then use the following key combinations:

;	Trap Signal  = Power-Command-Option (applies to TMON only, else the same as Interrupt)
;	Interrupt    = Power-Command (for like real Programmer's Switch)
;	BootDebugger = Power-Option (allows use of MacsBug)
;	Reset	     = Power-Command-[Control or Tab] (like real Programmer's Switch)
;	Restart	     = Power-Command-Shift (uses ShutDown Manager)
;	ShutDown     = Power-Command-Shift-Option (uses ShutDown Manager)

To temporarily disable Programmer's Key at boot time, hold down the mouse button
or the shift key.  To permanently disable it, drag it out of the System
Folder.

Programmer's Key will work with any debugger, including the microdebugger in the
128K+ ROMs.  The use of the ROM debugger is discouraged since it does not
have any builtin mechanisms to guard against potential problems such as
interrupting a VBL task or interrupting itself.  However, Programmer's Key is no
more dangerous than the real programmer's switch.

Note:
	If you experience any weird behavior with the ROM debugger, please let
	me know.  I have tested Programmer's Key with the ROM debugger and have had
	intermitant problems after using _ExitToShell.  I'm not certain Programmer's Key
	is causing the problem.

Programmer's Key will not Restart or ShutDown if the file system is busy, so
if it doesn't seem to be responding, keep on holding the keys down.

Note:
	There is a problem with the ShutDown key combo; if _ShutDown is
 	called while the 'power-on' key is down (thereby causing an
	immediate reboot), the keyboard will not function properly.
	If this happens, you need to ShutDown, wait a few seconds and
	power back up.  This appears to be hardware problem.
	I haved added a menubar flash as well as a short pause to the
	ShutDown key combination so there is a chance to release
	the power key.

The code to display the icon at boot time is called ShowINIT and is in the
public domain and available from me directly.  If you'd like to use it in your
INIT, please drop me a note.

Bug reports and comments are should be directed to one of the
addresses below.

Programmer's Key may be freely distributed for non-commercial purposes
as long this text file is also included.  A license is required for
commercial distribution.

Enjoy,

Paul Mercer

Delphi:    PAULMERCER
AppleLink: MERCER1
MCI:       SOL

P.O. Box 160165
Cupertino, CA  96016-0165